package ydn.edu.hqu.cst.myexpeiment3;


import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import butterknife.ButterKnife;

public class MainActivity extends AppCompatActivity implements View.OnClickListener{



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);


        //activity绑定
        // 获取应用程序中的button1按钮
        Button bn1 = (Button) findViewById(R.id.button1);
        // 为按钮绑定事件监听器
        bn1.setOnClickListener(MainActivity.this);


        //匿名内部类绑定
        // 获取应用程序中的button2按钮（匿名内部类）
        Button bn2 = (Button) findViewById(R.id.button2);
        bn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                EditText txt = (EditText) findViewById(R.id.text);
                txt.setText("点击了采用匿名内部类的监听器");
            }
        });



        //内部类
        // 获取应用程序中的button4按钮（内部类）
        Button bn4 = (Button) findViewById(R.id.button4);
        // 为按钮绑定事件监听器
        bn4.setOnClickListener(new OnClick1());

        //外部类
        // 获取应用程序中的button5按钮（外部类）
        Button bn5 = (Button) findViewById(R.id.button5);
        // 为按钮绑定事件监听器
        EditText txt = (EditText) findViewById(R.id.text);
        bn5.setOnClickListener(new clicklistener(MainActivity.this, txt));



        // 点击“系统信息”按钮转换到Configuration界面
        Button button7 = (Button) findViewById(R.id.button7);
        button7.setOnClickListener(new View.OnClickListener(){
            @Override
            public  void onClick(View v){
                Intent i = new Intent(MainActivity.this,configuration.class);
                startActivity(i);
            }
        });

        //点击“模拟进度条”按钮转换到progressdialog界面
        Button button8 = (Button) findViewById(R.id.button8);
        button8.setOnClickListener(new View.OnClickListener(){
            @Override
            public  void onClick(View v){
                Intent i = new Intent(MainActivity.this,progressdialog.class);
                startActivity(i);
            }
        });



    }

    //绑定到activity声明的函数
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.button1:
                EditText txt = (EditText) findViewById(R.id.text);
                txt.setText("点击了采用Activity绑定的监听器");
                break;
        }

    }

    //绑定到标签里声明的函数
    public void clickHandler(View source) {
        EditText txt = (EditText) findViewById(R.id.text);
        txt.setText("点击了采用标签绑定的监听器");
    }

    //绑定内部类声明的函数
    public class OnClick1 implements View.OnClickListener {

        @Override
        public void onClick(View v) {
            EditText txt = (EditText) findViewById(R.id.text);
            txt.setText("点击了采用内部类绑定的监听器");
        }
    }

    //butterknife绑定
    @butterknife.OnClick(R.id.button6)
    public void show() {
        EditText txt = (EditText) findViewById(R.id.text);
        txt.setText("点击了ButterKnife绑定的监听器");
    }

}
